//子路由
let express = require("express"); //绝对路径
const { ObjectId } = require("mongodb");
//创建路由对象
let Router = express.Router(); //Router==app
let mongo = require("../../db/mongo");

let config = require("../../config.json");
let upload = require("./multer");
// console.log(upload, 999);
/*
商品管理
  - 商品信息列表：分页
  - 查询 gid 为 xx 的商品
  - 修改 gid 为 xx 的商品信息
  - 删除 gid 的商品
  - 删除多个商品
  - 新增商品(新增商品图片)
*/

//1.新增商品(新增商品图片)  /good/add
Router.post("/add", upload.array("photos", 3), async (req, res) => {
  console.log(req.files, 111); //存文件信息
  console.log(req.body, 222); //存文件之外的普通文本信息
  //1.整理url做成指定的结构
  let imgs = [];
  if (req.files) {
    //有文件就添加,否则不处理
    req.files.forEach((item) => {
      let obj = {};
      obj.name = item.filename; //文件名
      obj.url =
        "http://localhost:" +
        config.PORT +
        "/" +
        item.destination +
        item.filename;
      imgs.push(obj);
    });
  }

  //   console.log(imgs, 999);

  //2.准备要插入到数据库里面的数据
  let newdata = [];
  let goodinf = {
    //商品详细数据
    imgs,
    ...req.body,
  };
  newdata.push(goodinf); //引入create到mongodb的数据只能是数组格式

  //3.把数据插入到数据库里面
  let result = {};
  try {
    let data = await mongo.create("goods", newdata);
    console.log(data);
    result = data;
  } catch (err) {
    result = {
      code: 0,
      message: "服务器异常",
    };
  }

  res.send(result); //响应数据给前端
  //   res.send("添加图片"); //响应数据给前端
});

// let str = `function show() {
//   console.log(666);
// }`;
// eval(str);
// show();

//删除多个商品
Router.delete("/delMany", (req, res) => {
  console.log(req.body);
  // let arr = req.body.id.split("&");
  let arr = eval(req.body.id); // JSON.parse 只能转这个 '{}'  '[{}]'
  console.log(arr);
  // let arr = [1,2,3];
  // arr.forEach(item => {
  //   let _id = ObjectId(item);
  //   let query = {
  //     _id
  //   }
  //   let data = await mongo.remove('goods',query);
  // })
  res.send("777");
});

module.exports = Router;
